Skip to main content
When a user says “send USDC on Base” you need to map:
  • (chainId, symbol)tokenAddress
  • symboldecimals (for parseUnits)
Sequence maintains a validated, multi-chain token registry: Sequence Token Directory: This page shows a minimal, cache-friendly implementation.

Data model

1) Load the master index

Fetch:
  • https://raw.githubusercontent.com/0xsequence/token-directory/main/index/index.json
This file tells you which chain folders exist and includes content hashes.

2) Pick the chain folder and fetch the ERC20 list

Fetch:
  • https://raw.githubusercontent.com/0xsequence/token-directory/main/index/<chainName>/erc20.json
This list follows the Uniswap token list schema (tokens include address, symbol, decimals, etc.).

Node.js example (with caching)


How to use it in permissions

Once you resolve:
  • token.address
  • token.decimals
You can:
  • build a permission for transfer(address to, uint256 value)
  • build a UI that accepts symbols instead of addresses
Example permission rule (ERC20):
  • allow transfer(to=ANY, value<=limit) using a value limit rule

Where this is referenced